package com.whfc.ms.api.fmam.service;

import com.whfc.common.result.PageData;
import com.whfc.entity.dto.OssPathDTO;
import com.whfc.fmam.entity.dto.FmamWeighNoteCountDTO;
import com.whfc.fmam.entity.dto.FmamWeighNoteDTO;
import com.whfc.fmam.entity.dto.FmamWeighNoteDailyDTO;
import com.whfc.fmam.entity.dto.FmamWeighNoteDetailDTO;
import com.whfc.fmam.entity.qo.WeighNoteListQO;

import java.io.IOException;
import java.util.Date;

/**
 * @author sun_guodong
 * @description 磅单
 * @date 2019-11-25
 */
public interface WeighNoteService {

    /**
     * 收发料明细台账列表
     *
     * @param request
     * @return
     */
    PageData<FmamWeighNoteDTO> list(WeighNoteListQO request);

    /**
     * 查询磅单详情
     *
     * @param id
     * @return
     */
    FmamWeighNoteDetailDTO detail(Long id);


    /**
     * 获取磅单信息
     *
     * @param guid 磅单guID
     * @return 磅单信息
     */
    FmamWeighNoteDetailDTO info(String guid);

    /**
     * 导出收发料明细台账列表
     *
     * @param request
     * @return
     */
    OssPathDTO export(WeighNoteListQO request) throws IOException;

    /**
     * 榜单日志
     *
     * @param deptId
     * @param date
     * @return
     */
    FmamWeighNoteCountDTO weighNoteCount(Integer deptId, Date date);

    /**
     * 材料进出场-日报
     *
     * @param deptId
     * @param time
     * @param weighNoteType
     * @param pageSize
     * @param pageNum
     * @return
     */
    PageData<FmamWeighNoteDailyDTO> daily(Integer deptId, Date time, Integer weighNoteType, Integer pageSize, Integer pageNum);
}
